import pandas as pd 

test_csv_path = "/root/family/python/python_pandas/test.csv"
f = pd.read_csv(test_csv_path)

# iloc只能用数字索引，不能用索引名
# loc只能通过index(行)和columns(列)索引名来取，不能用数字索引,
# 一般的loc的行取可用数字索引，但列名不可用数字索引


"行操作"

# 第一行即视为标题，顺序从0开始
print(f.iloc[0])
# # 混淆矩阵    预测0
# # 真实0     131
# # 真实1      35
# # 真实2       4
# # Name: 0, dtype: object

# # 去掉标题行的第一行第一列的值，字符串格式
# print(f.loc[0][0])
# # 预测0

# print(f.iloc[1])
# # 混淆矩阵    预测1
# # 真实0      20
# # 真实1     104
# # 真实2      22
# # Name: 1, dtype: object


# print(f.iloc[0:1])
# #   混淆矩阵  真实0  真实1  真实2
# # 0  预测0  131   35    4

# data_row = f.loc[1:3]
# print(data_row)
# #   混淆矩阵  真实0  真实1  真实2
# # 1  预测1   20  104   22
# # 2  预测2    3   15  128

# # 
# data_row = f.iloc[1:3]
# print(data_row)
# # 与loc结果相同

# 获取所有行
# print(f.loc[:])
#   混淆矩阵  真实0  真实1  真实2  归一化
# 0  预测0  131   35    4   10
# 1  预测1   20  104   22   20
# 2  预测2    3   15  128   30



"列操作"
# 获取某一列的信息
# 根据第一行信息获取对应某列的信息
# 列信息不包含第一行的内容
# data_column = f['混淆矩阵']
# print(data_column)
# # 0    预测0
# # 1    预测1
# # 2    预测2
# # Name: 混淆矩阵, dtype: object

# 顺序从0开始
# print(data_column[2])
# # 预测2

# 获取两列的信息
# data_columns = f[['混淆矩阵', '真实0']]
# print(data_columns)
# #   混淆矩阵  真实0
# # 0  预测0  131
# # 1  预测1   20
# # 2  预测2    3


# 对某一列归一化
# print(f['归一化'] / f['归一化'].max())
# # 0    0.333333
# # 1    0.666667
# # 2    1.000000
# # Name: 归一化, dtype: float64

# 对列进行排序操作
# 对于缺省值，（Nan）排序的时候会把他排在末尾；
# print(f.sorted_values('排序',inplace=True,ascending=True))
# # AttributeError: 'DataFrame' object has no attribute 'sorted_values'


# 获取缺省值
# column_null = pd.isnull(column)
# column_is_null_true = column[column_null]

# 将txt文件转为csv文件
# data = pd.read_csv(data_txt_path, sep='\t')
# data.to_csv(data_csv_path, index=False)





